package edit;

import pulpcore.animation.PropertyListener;
import pulpcore.sprite.Sprite;
import pulpcore.Input;
import org.jbox2d.common.Vec2;
import pulpfizz.pulp.body.PhysicsLayer;
import goliath.BasicDemo;

/**
 * Interface for an editing mode context.
 * Defines a basic proxy that the received input can be fed into.
 *
 * @author will
 * @date Aug 9, 2008 7:22:19 PM
 */
public abstract class EditContext {
    public Vec2 mousePos;
    PhysicsLayer layer;

    protected EditContext() {
        this.mousePos = new Vec2();
        this.layer = BasicDemo.getPhysics();
    }

    public void update(int elapsedTime, Vec2 mouseVec) {
        layer = BasicDemo.getPhysics();
        mousePos.set(mouseVec.x, mouseVec.y);
        update(elapsedTime);
    }

    public abstract void update(int elapsedTime);

    public abstract void reset();

    public abstract String toString();
    
}
